A baseboard management controller (BMC) is generally a specialized service processor that monitors the physical state of a computer, network server or other hardware device using sensors and communicating with the system administrator through an independent connection. The BMC is often part of the Intelligent Platform Management Interface (IPMI) and is usually contained in the motherboard or main circuit board of the device to be monitored.
The baseboard management controller (BMC) frequently provides the intelligence in the IPMI architecture. It generally is a specialized microcontroller embedded on the motherboard of a computer—generally a server. The BMC often manages the interface between system-management software and platform hardware.
Generally, different types of sensors built into the computer system report to the BMC on parameters such as temperature, cooling fan speeds, power status, operating system (OS) status, etc. The BMC often monitors the sensors and can send alerts to a system administrator if any of the parameters do not stay within pre-set limits, indicating a potential failure of the system. The administrator can also remotely communicate with the BMC to take some corrective actions—such as resetting or power cycling the system to, for example, get a hung operating system running again. These abilities save on the total cost of ownership of a system.
Peripheral Component Interconnect (PCI) Express (PCIe or PCI-e) is a high-speed serial computer expansion bus standard, designed to replace the older bus standards. PCIe has numerous improvements over the older standards, including higher maximum system bus throughput, lower Input/Output (I/O) pin count and smaller physical footprint, better performance scaling for bus devices, a more detailed error detection and reporting mechanism (e.g., Advanced Error Reporting), and native hot-plug functionality. More recent revisions of the PCIe standard provide hardware support for I/O virtualization. PCI Express is based on point-to-point topology, with separate serial links connecting every device to the root complex (host). In terms of bus protocol, PCI Express communication is generally encapsulated in packets.
Non-Volatile Memory (NVM) Express (NVMe) or Non-Volatile Memory Host Controller Interface Specification (NVMHCI) is a logical device interface specification for accessing non-volatile storage media attached via, in the original version, to a PCIe bus. Non-volatile memory is commonly flash memory that comes in the form of solid-state drives (SSDs). NVM Express, as a logical device interface, has been designed from the ground up to capitalize on the low latency and internal parallelism of flash-based storage devices, mirroring the parallelism of contemporary CPUs, platforms and applications.
NVMe is an alternative to the Small Computer System Interface (SCSI), or more specifically the Serial Attached SCSI, standard for connecting and transferring data between a host and a peripheral target storage device or system. SCSI became a standard in 1986, when hard disk drives (HDDs) and tape were the primary storage media. NVMe is designed for use with faster media, such as solid-state drives (SSDs) and post-flash memory-based technologies
One of the main distinctions between NVMe and NVMe over Fabrics (NVMe-oF, NVMe/F, NVMef, or NVMf) is the mechanism for sending and receiving commands and responses. NVMe over Fabrics uses a message-based model to communicate between a host and target storage device. NVMe over Fabrics enables the use of alternate transports (e.g., alternative to PCIe) to extend the distance over which an NVMe host device and an NVMe storage drive or subsystem can connect.
Fabric transports for NVMe may include:
NVMe over Fabrics using remote direct memory access (RDMA). Variations of such include RDMA over converged Ethernet (RoCE or eRDMA) and Internet wide area RDMA protocol (iWARP) for Ethernet and InfiniB and; and
NVMe over Fabrics using Fibre Channel (FC-NVMe). Fibre Channel allows the mapping of other protocols on top of it, such as NVMe, SCSI, and IBM's proprietary Fibre Connection (FICON), to send data and commands between host and target storage devices.